fix: EXPOSED-301 Update with join throws if additionalConstraint provided #2007
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Attempting to use any
join
function in its full overload form, with anadditionalConstraint
argument, results in an exception if anupdate()
is called after instead of aselect()
, for example:This occurs because the
additionalConstraint
conditions are being correctly appended to generated SQL, but their arguments are not being first registered with the prepared update statement.The arguments in the update statement now correctly register any
additionalConstraint
and take into account their order if an update with a WHERE clause is called.No unit tests existed for the full overload form with
update()
, so they have been added to existing tests.